Using pre-search triggers

ABSTRACT

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for using pre-search triggers. In one aspect, a method includes identifying one or more topics and determining that a confidence score associated with a particular topic of the one or more identified topics satisfies a predetermined threshold value. An occurrence of a pre-search trigger can be detected. In response to determining that the confidence score associated with the particular topic satisfies the predetermined threshold value and detecting the occurrence of the pre-search trigger, a search engine can be instructed to execute a search using a search query associated with the particular topic. A representation of a resource identified in results received in response to the search can be provided.

BACKGROUND

The present specification relates to information retrieval.

Internet search engines identify resources (e.g., web pages, images,text documents, multimedia content) that are relevant to a user'sinformation needs, and present information about the resources in amanner that is useful to the user. Typically, users submit queries thatsuggest the information the users want to retrieve, and search enginesprovide search results that are responsive to the queries.

SUMMARY

A search engine system can perform a search and can provide informationto a user before the user submits a search query, for example inresponse to detecting a pre-search trigger. The search engine systempredicts a topic likely to be of interest to the user. When the searchengine system detects a pre-search trigger and determines that aconfidence score for the predicted topic is above a threshold, thesearch engine identifies a resource related to the topic by causing asearch to be performed. The search engine system then provides arepresentation of the identified resource to the user.

One innovative aspect of the subject matter described in thisspecification is embodied in methods that include the actions of:identifying one or more topics; determining that a confidence scoreassociated with a particular topic of the one or more identified topicssatisfies a predetermined threshold value; detecting an occurrence of apre-search trigger; instructing a search engine to execute a searchusing a search query associated with the particular topic in response to(i) determining that the confidence score associated with the particulartopic satisfies the predetermined threshold value, and (ii) detectingthe occurrence of the pre-search trigger; and providing a representationof a resource identified in results received in response to the search.

Other embodiments of this aspect include corresponding systems,apparatus, and computer programs, configured to perform the actions ofthe methods, encoded on computer storage devices. A system of one ormore computers can be so configured by virtue of software, firmware,hardware, or a combination of them installed on the system that inoperation cause the system to perform the actions. One or more computerprograms can be so configured by virtue having instructions that, whenexecuted by data processing apparatus, cause the apparatus to performthe actions.

These and other embodiments may each optionally include one or more ofthe following features. For instance, the pre-search trigger occursbefore the user enters a query term. Detecting the occurrence of thepre-search trigger includes receiving information indicating that acontrol on a user interface of a client device has been selected.Detecting the occurrence of the pre-search trigger includes receiving arequest to provide a resource. Providing a representation of theresource includes causing navigation to be redirected to the selectedresource. Providing a representation of the resource includes providinga resource that, when rendered, causes content of the selected resourceto be displayed on a portion of a user interface. Providing arepresentation of the resource includes providing a resource including alink to the selected resource. The confidence score is based on abrowsing history of a user or a search query history of a user. Theidentifying, determining, detecting, instructing, and providing areperformed by a server system. The identifying, determining, detecting,instructing, and providing are performed by a client computing device.Identifying one or more topics includes selecting a topic from apredetermined set of topics. Identifying one or more topics includesgenerating a topic based on based on a browsing history of a user or asearch query history of a user.

Advantageous implementations can include one or more of the followingfeatures. A user can receive information by performing few or noactions. Information can be provided to a user in response to apre-search trigger. Information can be provided to a user before asearch query is submitted. Delays in providing information to acomputing device can be avoided. Predicted content can provided quicklyto a computing device.

The details of one or more embodiments are set forth in the accompanyingdrawings and the description below. Other features and advantages willbecome apparent from the description, the drawings, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of an example of a system that can provideinformation in response to a pre-search trigger.

FIG. 2 is a flow chart illustrating an example of a process forproviding information in response to a pre-search trigger.

FIGS. 3A, 3B, and 3C are examples of user interfaces that illustratesearch engine home pages that include representations of resources.

FIG. 4 is a swim lane diagram illustrating an alternative sequence for aprocess for providing information in response to a pre-search trigger.

Like reference numbers and designations in the various drawings indicatelike elements.

DETAILED DESCRIPTION

FIG. 1 is a diagram of an example of a system 100 that can provideinformation in response to a pre-search trigger. The system 100 includesa client device 102, a server system 104, and a network 106. The clientdevice 102 can be, for example, a desktop computer, laptop computer,cellular phone, smart phone, tablet computer, a music player, an e-bookreader, or navigation system. The functions performed by the serversystem 104 can be performed by individual computer systems or can bedistributed across multiple computer systems.

A search engine system can enhance a user's experience by providinginformation about a topic of interest to the user before the userinitiates a search or enters a search query. The search engine systemidentifies a topic, for example, “movies,” “baseball,” or “fishing inColorado.” Using information about a particular user, the search enginesystem generates a confidence score indicating a likelihood that theidentified topic will be of interest to the particular user. The searchengine system predicts that the topic is likely of interest to the userwhen the confidence score satisfies a threshold. The search enginesystem may identify multiple topics, and can simultaneously providecontent for multiple topics satisfying the threshold or provide contentfor a topic assigned the highest confidence score.

A user can access a search engine interface, for example, by navigatingto a web page providing an interface to the search engine. Dataindicating this access to the search engine interface is a pre-searchtrigger, which is detected by the search engine system. The searchengine determines that the pre-search trigger is associated with theuser. In response to the pre-search trigger, the search engine systemperforms a search to select a resource associated with the topicpredicted to be of interest to the user. The search engine system thenprovides a representation of the selected resource to the user.

For example, the search engine can provide search results that include alink to a web page that, when rendered, causes content of the selectedresource to be displayed, or causes a link to the selected resource tobe displayed. Because the selected resource is identified based on thepredicted topic rather than a search query entered by the user,information related to the topic can be provided to the user before theuser enters a search query. When the server system does not identify atopic having a confidence score above the threshold, a representation ofa resource selected based on a predicted topic is not provided. Arepresentation of a resource can include, for example, a link, asnippet, a summary, an excerpt, a portion of an interface, a snapshot,and so on. In some implementations, the form of the representation canbe determined based on the confidence score or other signals used toassign the confidence score.

The server system 104 can include a topic prediction module 120, aconfidence score evaluation module 130, a topic-to-resource mappingmodule 140, and a page generation module 150, described in furtherdetail below. The network 110 can be wired or wireless or a combinationof both and can include the Internet. The diagram shows states (A) to(G), which may occur in the sequence illustrated or in a differentsequence. States (A) to (C) and (E) to (G) illustrate a flow of data,and states (D) and (H) illustrate user interfaces 150 a, 150 b.

During state (A), the server system 104 identifies one or more topics.The identified topics can be a general set of topics or topics that arepredicted to be of interest to a particular user 101. For eachidentified topic, the server system 104 generates a confidence scoreindicating a likelihood that the corresponding topic is of interest tothe user 101 at the current time.

In the illustrated example, the topic prediction module 120 identifies atopic 121, “surfing.” The topic prediction module 120 also generates aconfidence score 122 of 95%, which indicates a predicted likelihood thatthe user 101 would be interested in viewing or receiving content relatedto the topic 121. As used herein, content is defined broadly to includean interactive interface, for example, an e-mail interface or on-linebanking interface. Thus a user's interest can include an interest inperforming a particular action through an interactive interface, inaddition to consuming media or receiving non-interactive information.

Topics can be categories of information, whether broad or narrow, forexample, “sports,” “bagpipes,” “kayaking,” etc. Topics can be selectedfrom a predefined set of topics or can be dynamically generated by theserver system 104. A topic can include multiple components, for example,“kayaking in California.” Examples of topics also include a search querycomposed of one or more terms, a category of web pages, or a particularresource. Topics can be search queries submitted by the user 101 or byother users.

The topic prediction module 120 of the server system 104 can identifytopics from a collection of predefined topics or can generate newtopics. The topic prediction module 120 can use information about theuser 101 to identify topics. The information can include, for example,demographic information, location information, an Internet browsinghistory, and a search query history of the user 101. For example, thetopic prediction module 120 can compose a topic using keywords and otheraspects of a browsing history or search history of the user 101. Thetopic prediction module can also select topics based on the device typeof the client device 102, applications on the client device 102, thelocation of the user or the client device 102, user-defined indicatedtopics or topics expressly indicated by the user 101, socialconnections, and external factors. These signals, described in furtherdetail below, can be used to identify topics and to generate confidencescores for identified topics.

The topic prediction module 120 can identify topics based on a devicetype of the client device 102, for example, whether the client device102 is a smartphone, tablet computer, laptop computer, or desktopcomputer. The topic prediction module 120 can infer a range of likelyinformation needs of the user 101 based on the device type, and thusfilter the topics likely to be of interest to the user 101.

In a similar manner, the topic prediction module 120 can also accessinformation about applications installed on or currently running on theclient device 102. The topic prediction module 120 can identifyapplications on the client device 102 and access a database indicatingtopics associated with the identified applications. The topic predictionmodule 120 can consider topics associated with an identified applicationto be more likely to be of interest to the user 101.

The topic prediction module 120 can also use the location of the clientdevice 102 to infer likely information needs of the user 101 and toselect corresponding topics. To identify a location or type of locationwhere the client device 102 is located, the topic prediction module 120can compare the current location of the client device 102 with knownlocations of significance to the user, for example, a home location, aworkplace location, and frequently visited locations, or with standardmaps or location databases. If the client device 102 is determined to belocated at the workplace of the user 101, for example, topics related tooffice productivity and the profession of the user 101, if known, can beselected. By contrast, topics related to entertainment can be selectedif the client device 102 is determined to be located at the user's home.If the client device 102 is determined to be located on a road, thetopic prediction module 120 can select topics related to maps,navigational directions, or local attractions. In a similar manner,appropriate topics can be selected if the client device 102 isdetermined to be located at a school, theater, beach, or other location.

Topics can also be selected based on a user's social connections. Forexample, the topic prediction module 120 can access information aboutthe user's social connections from, for example, a social networkingservice, an e-mail contacts list, an employment web page, or othersources. Topics that are indicated to be of interest to the socialconnections of the user 101 can be selected, as they are also likely tobe of interest to the user 101.

Additionally, external factors such as environmental conditions, such asthe weather, temperature, season of the year, and time of day can beused to select topics. For example, outdoor activities may be morelikely to be of interest when sunny rather than raining, in summerrather than winter, and during the day rather than at night. Thephysical or environmental context of the client device 102 can be usedto select topics. For example, if the client device 102 is determined tobe docked in a vehicle, the location of refueling stations may beselected as a topic of interest, especially if data is availableindicating that the vehicle is determined to be low on fuel. The topicprediction module 120 can identify other events or conditions, such asnews releases or stock price movements, that may cause a topic to becomeof interest to the user 101.

Information about the user 101, such as an Internet browsing history andsearch query history, can be associated with an identifier 125 for theuser 101, such as a user account for the user 101 or a cookie stored onthe client device 102 of the user 101. The topic prediction module 120can identify topics that the user 101 is likely to be interested in, forexample, topics related to or corresponding to previous search queriesof the user 101.

The topic prediction module 120 uses information about the user 101 andthe client device 102 to generate confidence scores for the identifiedtopics. The topic prediction module 120 can use any of the informationused to select a topic to generate a confidence score. The confidencescore for each topic is generated based on, for example, the degree thatthe topic matches information about the user 101. The higher thecorrelation between a topic and information about the user 101, thehigher the confidence score for the topic.

The confidence score 122 can represent a level of interest in the topic121 corresponding to a particular time. Even though the user 101 mayalways have a general interest in the topic 121, the user 101 may belikely to view or request information about the topic at particulartimes. Thus the confidence score 122 for a topic 121 can betime-dependent, indicating that the interest of the user 101 inreceiving information about the topic 121 is a function of time. Atdifferent times through the day, and from one day to another, the valueof the confidence score 122 for the topic 121 changes for the user 101,even when the information about the user 101 does not change. For agiven time, the confidence score 122 for the topic 121 can indicate adegree of correlation between the topic and actions of the user 101 atsimilar times. Information about the user 101 can indicate patterns ofbehavior of the user 101, which the topic prediction module 120 can useto generate time-dependent confidence scores.

As an example, information about the user 101 can indicate that the user101 usually searches for information about surfing in the morning onweekends. A curve 123 illustrates an example relationship between theconfidence score 122 and the topic 121 over the course of a day. Thecurve 123 is illustrated as an example, and the topic prediction module120 need not generate confidence scores for any range of time orgenerate confidence scores as a continuous function. The curve 123indicates that the topic is highly correlated with actions of the user101 during mornings, and less correlated with actions of the user 101during afternoons. A point 124 on the curve 123 represents theconfidence score 122 of 95% for the topic 121 at the current time.

During state (B), the server system 104 determines whether theconfidence score for each of the one or more identified topics satisfiesa threshold. For example, the confidence score evaluation module 130determines that the confidence score 122 of 95% exceeds a minimumthreshold of 90%. This indicates that there is a high likelihood thatthe user 101 is interested in viewing content related to the topic 121at the current time. In some implementations, the confidence scoreevaluation module 130 determines whether each confidence scoressatisfies one or more of multiple thresholds, which can each represent adifferent level of interest. Topics that satisfy at least one thresholdcan be made accessible to the topic-to-resource module 130.

To reduce the likelihood of presenting information that is not useful toa user, the server system 104 can use a high minimum threshold, forexample, a minimum threshold of about 70% or higher. Using a highminimum threshold can also conserve network bandwidth by avoidingtransfer of information not useful to a user. When a user has browsed orsearched for information about a topic irregularly or infrequently, alow confidence score, for example, 40%, may be generated. The lowconfidence score indicates significant uncertainty that the user willfind information about the topic to be useful at a particular time. Bycontrast, when the user has regularly and frequently requestedinformation about a topic, or otherwise accesses information about thetopic with a predictable pattern, a high confidence score, for example,80%, can be generated. The high confidence score indicates that, for aparticular time, the user is very likely to find information about thetopic useful.

In some implementations, the server system 104 uses a user-specificconfidence threshold for each user. The server system 104 can adjust thethreshold for a particular user based on the behavior of the user. Forexample, the server system 104 can set a high confidence threshold for auser with a browsing history indicating a narrow or consistent range oftopics. The server system 104 can set a lower threshold for a user thatbrowses web pages associated with many topics, or if a browsing historyindicates that topics of interest change frequently. Users havingsimilar browsing patterns can be assigned similar confidence thresholds.

In addition, the confidence threshold can be adjusted based on theuser's interaction with content provided by the server system 104. Forexample, the server system 104 may determine that a user sometimesclicks on content presented by the server system 104 when the confidencescore for an associated topic is above a particular value, for example,70%, but that the user does not click on content associated with topicsassigned lower confidence scores. As a result, the server system 104 mayset the confidence threshold for the user at 70%, corresponding to theminimum confidence level eliciting any user interaction. The serversystem 104 can alternatively set the confidence threshold at a levelcorresponding to a particular level or frequency of user interaction.

In some implementations, the server system 104 repeats states (A) and(B). Over time, the server system 104 can periodically predict topicsthat, for the current time or a particular time range, have confidencescores exceeding a threshold. Thus before receiving a request to executea search, the server system 104 can have already identified topics theuser 101 is currently likely to be interested in. In the same mannerthat topics of interest are identified for the user 101, the serversystem 104 can also identify topics predicted to be of interest to otherusers.

During state (C), using the client device 102, the user 101 performs anaction that generates a pre-search trigger. A predetermined set ofactions or conditions can be designated as suggestive of a user's intentto initiate a search. The pre-search trigger can be data that indicatesthat an action or condition in the set has occurred. For example, thepre-search trigger can be data that indicates a user action to initiatea dialogue with a search engine. Examples of such actions includeinitiating navigation to a web page for a search engine, causing asearch toolbar to be displayed, or speaking a voice command signalingthat a search will follow. As another example, the user 101 can select acontrol for receiving a query term, for example, by clicking in a textfield in which query terms can be entered. Data indicating any of theseactions can be a pre-search trigger, which can be detected in state (D)below.

In the illustrated example, the user 101 initiates navigation to a webpage for a search engine. The user interface 150 a displays the userinterface for a web browser, including an address bar 107 for receivinga URL. The user 101 initiates navigation to a search engine web page114, accessible at the URL “www.example.com/SEARCH.” The user 101selects a control 108 on the user interface 150 a and the client device102 transmits a request 110, for example, an HTTP request or SPDYrequest, to retrieve the web page 114. The request includes anidentifier 112 or other information identifying the user 101. Theidentifier 112 can be, for example, a username of a user account orinformation stored in a cookie on the client device 102.

In some implementations, the client device 102 also transmits to theserver system 104 a request to retrieve a resource in response toactions other than initiating navigation. For example, in response to amouse click in a text field for receiving a query term, the clientdevice 102 can transmit information indicating that the mouse clickoccurred. The information can be a request to retrieve a resource, andthe request can indicate that a search is predicted to occur, even whenno text is entered in the field.

In some implementations, different pre-search triggers can be definedfor different types of client devices. For example, for a phone, apre-search trigger can be data indicating an acceleration level thatindicates that a user has picked up the phone. For a tablet computer,the pre-search trigger can be data indicating that the user touched atouchscreen, or data indicating that the tablet computer has recentlyemerged from a low-power state. Other examples of pre-search triggerscan include, for example, data indicating that a browser has beenlaunched and data indicating that a cursor of a pointing device isapproaching a search toolbar or a desktop icon for a search engine. Dataindicating that a user is approaching the client device 102, forexample, sound from a microphone or video from a camera, can also be apre-search trigger.

During state (D), the server system 104 detects the pre-search triggerand identifies the user 101 associated with the pre-search trigger. Inthe example, the server system 104 receives the request 110 andidentifies the request 110 as a pre-search trigger. The server system104 also determines that the pre-search trigger is associated with theuser 101, for example, by determining that the identifier 112 matchesthe identifier 125.

As described above, a pre-search trigger is data indicating that one ormore actions or conditions in a predetermined set have occurred. Thepredetermined set of actions or conditions can include actions orconditions that enable a user to initiate a dialogue with a searchengine. The pre-search trigger can thus indicate that a search is likelyto be subsequently requested, before a search is actually requested.Nevertheless, a pre-search trigger does not require a subsequent searchrequest or subsequent input of query terms. For example, afternavigating to the web page 114, the user 101 may navigate to a differentpage without actually entering or submitting a search query.

A pre-search trigger can indicate a state in which a user canimmediately enter a query term, for example, the placement of a textcursor in a query-receiving field. As another example, a pre-searchtrigger can indicate a state in which a user can enter a query termafter performing a single action, such as selecting a control that isdisplayed on a user interface or will be rendered after a resource isreceived. A pre-search trigger can indicate an action of the user 101 toaccess to a search interface, for example: initiating navigation to aresource that, when rendered, provides a search interface; causing asearch toolbar or search interface to be displayed; and clicking on atext field for receiving a query term.

The pre-search trigger can occur before query terms for a search areentered, selected, or otherwise specified. Thus the pre-search triggercan occur before any query term for the search—even a singlecharacter—is received by the server system 104 or is entered on theclient device 102.

To detect the pre-search trigger, the server system 104 can receive datafrom the client device 102 or access data from another source, such asanother server system. The pre-search trigger can be, for example, arequest to provide a resource, a notification of an event, orinformation indicating a state of the client device 102. To determinewhether accessed data includes a pre-search trigger, the server system104 can determine whether the accessed data indicates one or more of aset of predetermined actions or conditions enabling a user to initiate adialogue with a search engine system.

During state (E), the server system 104 selects a resource related tothe topic 121 predicted to be of interest to the user 101. The topic 121is predicted to be of interest to the user 101 at the time of thepre-search trigger. For example, confidence score 122 can correspond tosubstantially the same time as the request 110, or can fall within arange of time, e.g., five minutes or one hour, from the time of therequest 110. Because the confidence score 122 for the topic 121satisfies the threshold, and because the pre-search trigger is detected,the server system 104 selects a resource related to the topic 121. Ifmultiple topics have confidence scores that satisfy the threshold, theserver system 104 can select a resource related to each of the multipletopics.

To select a resource, the topic-to-resource mapping module 140 can, forexample, instruct a search engine to execute a search using a searchquery associated with the topic 121. The topic-to-resource mappingmodule 140 can access a stored query for the topic 121 or can generate aquery for a topic 121. The topic-to-resource mapping module 140 canselect a resource identified in results to the search returned by thesearch engine. A topic can indicate a particular media type, and thetopic-to-resource mapping module 140 can cause the search engine toreturn results corresponding to resources of the indicated media type,for example, web page, image, video, or music. In some implementations,to select a resource for a topic, the topic-to-resource mapping module140 can select a resource having a predetermined mapping to a particulartopic.

In the example, the request 110 for the search engine web page 114indicates that, at the current time, the user 101 likely intends tosearch for and view as-yet unspecified information. Because the user 101has not entered any query terms for a search, the particular topic forwhich the user 101 desires to retrieve content cannot be discerned fromthe request 110.

Nevertheless, by periodically predicting topics of interest to the user101, the server system 104 has identified a topic 121 that is likely tobe of interest to the user 101 at the current time. For the topic 121,the topic-to-resource mapping module 140 causes a search to be performedwith a query term “surfing.” From results received in response to thesearch, the topic-to-resource mapping module 140 selects the resourcecorresponding to the top-ranking result, a resource 141 accessible atUniform Resource Locator (URL) of “www.example.com/SURF.”

During state (F), the server system 102 generates information to provideto the client device 102. The server system 104 can generate a searchresult or search results page that includes a representation of theresource 141.

In the example, the page generator module 150 generates a resource 151that, when rendered on the client device 102, causes a search engine webpage and a link to the resource 141 to be displayed. The resource 151 isthus customized for the user 101 so that, when rendered, content relatedto the topic 121 is displayed. The page generator module 150 can accesscontent of a resource 141 from a cache 142 to provide the content to theuser 101 with a minimal delay.

A representation of a resource can include one or more of, for example,a link to a resource, a portion of content of the resource, or theentire resource. A representation of a resource can include code thatcauses the resource to be retrieved and rendered, for example, in aninline frame (“iFrame”) or other display area. In some implementations,a representation of the resource 141 can be provided by causingnavigation to be redirected to the resource 141.

In some implementations, the server system 104 selects therepresentation of the resource 141 based on the confidence score 122.For example, the server system 104 can select a different representationfor the resource 141 when the confidence score 122 satisfies differentthresholds. For example, if the confidence score 122 exceeds a highthreshold, the resource 141 can be displayed in a search engine webpage, for example, in an iFrame or through any other manner ofdisplaying content within a web page. If the confidence score 122exceeds a low threshold but not the high threshold, a link to theresource 141 can be provided.

If the server system 104 does not identify a topic having a confidencescore that satisfies the threshold, then no representation of a resourceis provided. The page generator module 150 can respond to the pre-searchtrigger by providing a search engine web page, without topicalcustomization. For some pre-search triggers, such as selection of a textfield for entering a query, the server system 104 can ignore thepre-search trigger when no topic has a confidence score determined tosatisfy a threshold.

During state (G), the server system 104 transmits the resource 151 tothe client device 102 in response to the request 110.

As an alternative, as described below, one or more actions illustratedas performed by the server system 104 can be performed by the clientdevice 102. In such implementations, the client device 102 need notreceive a resource from the server system 104. For example, the clientdevice 102 may generate a user interface that includes a link to theresource 141.

During state (H), the client device 102 displays the rendered resource151 on the user interface 160 b. The user interface 160 b displays asearch engine interface including, for example, a control 161 forreceiving a query term. The user interface 160 b also displays a link162 to the resource 141.

Through the link to the resource 141, the user 101 can quickly accessthe resource 141 and gain information about the topic 121. The user 101can select the link 162 to navigate directly to the resource 141,whereas the user 101 would traditionally select the control 161, enter asearch query, select a control to submit the search query, receive asearch engine results page, and select a link for the resource 141 froma search engine results page. In addition to, or as an alternative to,display of a link 162, content of the resource 141 can be providedimmediately with the search engine interface. Thus the user 101 canquickly access information related to the topic 121.

Additionally, information is not provided for topics that are notdetermined to have confidence scores satisfying the threshold. As aresult, the search interface is supplemented with additional informationfor topics determined to be of interest to the user, and informationrelated to topics not determined to be of interest to the user isexcluded.

In some implementations, the actions described for states (A) to (H) canbe performed in a different sequence, for example, as illustrated inFIG. 4. As another example, selecting a resource related to a topic, asdescribed for state (E), can be performed before detecting a pre-searchtrigger. Thus when the server system 104 detects the pre-search triggerin state (D), the server system 104 can previously have selected aresource 141 corresponding to the topic 121, permitting the serversystem 104 to quickly provide a representation of the resource 121 tothe user in response to detecting the pre-search trigger.

In some implementations, the actions described for states (A) to (H) canbe performed by the client device 102, for example, by downloaded codeor by a browser or other application running on the client device 102.For example, the client device 102 can identify one or more topics,generate or access confidence scores for the identified topics, anddetermine whether the confidence scores satisfy one or more thresholds.When a topic is determined to satisfy a threshold, the client device 102can select a corresponding resource and display a representation of theresource.

FIG. 2 is a flow chart illustrating an example of a process 200 forproviding information in response to a pre-search trigger. Briefly, theprocess 200 includes identifying one or more topics, determining that aconfidence score associated with a particular topic of the one or moreidentified topics satisfies a predetermined threshold value, anddetecting an occurrence of a pre-search trigger. The process 200 alsoincludes instructing a search engine to execute a search using a searchquery associated with the particular topic in response to (i)determining that the confidence score associated with the particulartopic satisfies the predetermined threshold value, and (ii) detectingthe occurrence of the pre-search trigger, and providing a representationof a resource identified in results received in response to the search.

One or more topics are identified (202). The topics can be selected froma predefined hierarchy of topics. The topics can be identified based oninformation about a particular user based on a browsing history of theuser and a search query history of the user.

A confidence score associated with a particular topic of the one or moreidentified topics is determined to satisfy a predetermined thresholdvalue (204). The confidence score can be determined for the particularuser based on a browsing history of the user and a search query historyof the user. The confidence score can indicate a degree of correlationbetween the particular topic and actions of the user.

When confidence scores for multiple topics satisfy the predeterminedthreshold value, the topic with the highest confidence score can beselected. As an alternative, the N topics with the highest confidencescores can be selected, where N is a predetermined integer. In someimplementations, each topic that has a confidence score that satisfiesthe threshold can be selected. As described below, for each topicselected, a corresponding resource can be identified, and arepresentation of the identified resources can be provided in responseto detecting a pre-search trigger.

An occurrence of a pre-search trigger is determined (206). Thepre-search trigger can be determined to be associated with theparticular user for which the confidence score is determined to satisfythe threshold value. The pre-search trigger can be an action to initiatea dialogue with a search engine. For example, the pre-search trigger canbe data indicating an action to gain access to a search engineinterface, such as an interface or control for receiving a query term.The pre-search trigger can occur during a browsing session before aquery term is entered.

Detecting the occurrence of the pre-search trigger can include receivinginformation indicating that a control on a user interface of a clientdevice has been selected. Detecting the occurrence of the pre-searchtrigger can include receiving a request to provide a resource thatprovides a search interface.

A search engine is instructed to execute a search using a search queryassociated with the particular topic (208). The search is executed inresponse to (i) determining that the confidence score associated withthe particular topic satisfies the predetermined threshold value and(ii) detecting the occurrence of the pre-search trigger.

A representation of a resource identified in results received inresponse to the search is provided (210). The resource can be a resourcereferenced by the top-ranking result of the results received in responseto the search. The representation of the resource can be provided suchthat it is displayed with a search engine interface.

Providing a representation of the resource can include causingnavigation to be redirected to the resource. Providing a representationof the resource can include providing a resource that, when rendered,causes content of the selected resource to be displayed on a portion ofa user interface, for example, in a frame or an iFrame of a searchengine web page. Providing a representation of the resource can includeproviding a resource including a link to the selected resource.

FIG. 3A is an example of a user interface 300 that illustrates a searchengine home page that includes a representation of a resource. Thesearch engine home page includes three images 302 a-302 c that representdifferent resources, which correspond to topics that are predicted to beof interest to the user. Multiple topics can be selected when each ofthe multiple topics has a confidence score that satisfies an appropriatethreshold. If many topics have confidence scores that satisfy thethreshold, a predetermined number of topics having the highestconfidence scores, for example, the topics assigned the top threeconfidence scores, can be selected. In response to a pre-search trigger,a representation of a resource corresponding to each selected topic canbe displayed.

The user interface 300 displays a search interface 301 and the images302 a-302 c. The images 302 a-302 c represent three different resources,each corresponding to one of three different topics, “surf report,”“e-mail,” and “finance.” The images 302 a-302 c displayed can berendered from image files referenced by each resource, for example,images that would be displayed if the corresponding resource wererendered. Alternatively, the images 302 a-302 c can be “snapshot” imagesdisplaying a rendered representation of a portion of or all of therespective resources. As another alternative, the images 302 a-302 c caneach be icons or symbols representing the respective resources or thetopics corresponding to the resources.

In some implementations, multiple alternatives can be presented to theuser to provide a sense of choice. For example, when a representation ofan associated resource is presented, representations of other resourcesfor the same topic or representations of resources associated withdifferent topics can also be presented. Representations of alternativeresources can be presented as links, snippets, layers, lists, images,icons, and so on. For example, when a server system can predict aproduct of interest and a user's preferred retailer, representations ofresources offering the product can be provided, both from the preferredretailer and other retailers. The information about alternativeretailers can provide welcome choices to the user and may allaysuspicions that the prediction algorithm is attempting to sway theuser's behavior.

FIG. 3B is an example of a user interface 330 that illustrates a searchengine home page that includes a representation of a resource. The userinterface 330 displays a search engine interface 331 and a rendering 332of a resource that corresponds to a predicted topic for the user. Aftera pre-search trigger is detected, a web page can be provided that causesportions of or all of a resource corresponding to a predicted topic tobe rendered. Content of a resource can be presented in an iFrame, or canbe displayed in any other manner of displaying content in a web page.The rendering 332 can be displayed at, for example, the side, top,bottom, or other location of the user interface 330.

The content of the rendering 332 can include one or more types of media,for example, a web page, a video, an audio recording, an image, ananimation, or an embedded application. In some implementations, a serversystem selects the resource for a particular type of media based oninformation about the user. For example, if the user searched for imagesduring the previous browsing session, the resource provided can be animage.

FIG. 3C is an example of a user interface 360 that illustrates a searchengine home page that includes a representation of a resource. Aresource rendered by a client device can cause navigation to beredirected to a different resource, for example, a resourcecorresponding to a topic predicted to be of interest to the user. When auser navigates to the search engine home page, for example, the serversystem providing the search engine home page can detect a pre-searchtrigger. The search engine home page provided to the user can redirectnavigation to a resource that corresponds to a topic predicted to be ofinterest to the user.

In the example, the search engine home page is rendered at a clientdevice, causing a search interface 361 and a redirection notice 362 tobe displayed. The search engine home page is personalized for the userand causes navigation to “www.example.com/SURF”, which corresponds tothe topic predicted to be of interest to the user. The redirectionnotice 362 indicates that redirection will occur in a particular periodof time, for example, in five seconds. As an alternative to delayedredirection, a search engine home page or other received resource cancause the user's browser to immediately navigate to the resource thatcorresponds to the predicted topic.

As another example, information about a user can indicate that, onweekdays between 9:00 am and 10:00 am, the user frequently enters asearch for a particular e-mail web page. Using this information, aserver system can identify the particular e-mail web page as a topic ofinterest for this range of time, and determine that a confidence scorefor the topic satisfies a threshold. When the user navigates to thesearch engine web page on a weekday between 9:00 am and 10:00 am, theserver system can detect a request for the search engine web page as apre-search trigger. In response, the server system can provide aresource that, when rendered, redirects the user's web browser to thee-mail site. As a result, the user receives access to the content of thee-mail site without entering a search query and reviewing searchresults.

In some implementations, a server system selects the type ofrepresentation to provide based on the confidence score for a topicpredicted to be of interest to the user. For example, various ranges ofconfidence can correspond to, from highest confidence to lowestconfidence, the server system: (i) causing immediate navigation to theselected resource; (ii) causing navigation to the selected resourceafter a time delay; (iii) providing a resource which causes content ofthe selected resource to be displayed; (iv) and providing a resourceincluding a link to the selected resource. The confidence ranges for thepresentation modes can respectively be, for example: (i) 90% and higher;(ii) 80% to 90%; (iii) 70% to 80%; and (iv) 60% to 70%. The higher theconfidence score for the topic, the greater degree of content of theselected resource is provided.

In some implementations, a resource can be selected to provide anappropriate level of information based on the confidence score for thetopic. For example, a topic may be purchasing a dishwashing machine froma particular retailer. If the confidence score for the topic is high,the resource selected can be a web page from the retailer providingdetails of a particular product for sale. If the confidence score ismedium, the resource selected can be a web page for the kitchenappliances department of the retailer. If the confidence score is low,the resource selected can be the main page for the retailer.

In some implementations, the server system 104 selects the type ofrepresentation to provide based on the confidence score for a topicpredicted to be of interest to the user. The higher the confidence scorefor the topic, for example, the greater degree of content of theselected resource is provided. For example, various ranges of confidencescores can correspond to, from highest confidence to lowest confidence,the server system 104 providing a resource: (i) causing immediatenavigation to the selected resource; (ii) causing navigation to theselected resource after a time delay; (iii) providing content of theselected resource to be displayed, for example, with a search engineinterface; and (iv) providing a link to the selected resource.

FIG. 4 is a swim lane diagram illustrating an alternative sequence for aprocess 400 for providing information in response to a pre-searchtrigger. By contrast with the sequence of FIG. 1, the process 400includes generating a confidence score and determining whether theconfidence score satisfies a threshold after detecting the pre-searchtrigger rather than before.

In the process 400, the server system identifies a topic (406), forexample predicting a topic likely to be of interest to a user at aparticular time based on behavior patterns of the user. The serversystem can update predictions as new information about the behavior ofthe user is received, and can predict topics regardless of whether theuser is currently in communication with the server system. For example,the server system can predict topics for a user even when the user hasnot yet initiated a search session or has logged in to a user account.

The client device transmits information indicating a pre-search triggerhas occurred (404), and the server system detects a pre-search trigger(406). In response to the pre-search trigger, the server systemgenerates a confidence score (408), and determines whether theconfidence score satisfies a threshold (410). In the process 400, theserver system select a resource corresponding to topic (412), provides arepresentation of the selected resource to the client device (414), andthe representation of the selected resource is received by the clientdevice (416).

A number of variations can be implemented. For example, the serversystem can also generate the confidence score (408) and/or select aresource corresponding to topic (412) before detecting the pre-searchtrigger (406). As another example, the server system can generate theconfidence score (408), determine whether the confidence score satisfiesa threshold (410), and select a resource corresponding to topic (412)before detecting the pre-search trigger (406).

In some implementations, some or all of the actions of the process 400described as performed by the server system can alternatively beperformed by the client device. For example, an application running onthe client device can directly detect a pre-search trigger, for example,by receiving user input, receiving information about system events, orby monitoring conditions or properties of the client device. The clientdevice can also receive data indicating that the pre-search triggeroccurs from another system. The client device can predict a topic orrequest a predicted topic from a server system, can generate aconfidence score or request a confidence score from a server system, andcan determine whether the confidence score satisfies a threshold. Theclient device can also select a resource corresponding to the topic byinstructing a search engine of a server system to perform a search, orby instructing a local search engine to perform a search, for example, asearch of a media collection or file system accessible to the clientdevice. The client device can also generate a user interface thatincludes a representation of the selected resource rather than receivinga representation of a resource.

A number of implementations have been described. Nevertheless, it willbe understood that various modifications may be made without departingfrom the spirit and scope of the disclosure. For example, various formsof the flows shown above may be used, with steps re-ordered, added, orremoved.

Embodiments and all of the functional operations described in thisspecification can be implemented in digital electronic circuitry, or incomputer software, firmware, or hardware, including the structuresdisclosed in this specification and their structural equivalents, or incombinations of one or more of them. Embodiments can be implemented asone or more computer program products, e.g., one or more modules ofcomputer program instructions encoded on a computer readable medium forexecution by, or to control the operation of, data processing apparatus.The computer readable medium can be a machine-readable storage device, amachine-readable storage substrate, a memory device, a composition ofmatter effecting a machine-readable propagated signal, or a combinationof one or more of them. The term “data processing apparatus” encompassesall apparatus, devices, and machines for processing data, including byway of example a programmable processor, a computer, or multipleprocessors or computers. The apparatus can include, in addition tohardware, code that creates an execution environment for the computerprogram in question, e.g., code that constitutes processor firmware, aprotocol stack, a database management system, an operating system, or acombination of one or more of them. A propagated signal is anartificially generated signal, e.g., a machine-generated electrical,optical, or electromagnetic signal that is generated to encodeinformation for transmission to suitable receiver apparatus.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, and it can bedeployed in any form, including as a stand alone program or as a module,component, subroutine, or other unit suitable for use in a computingenvironment. A computer program does not necessarily correspond to afile in a file system. A program can be stored in a portion of a filethat holds other programs or data (e.g., one or more scripts stored in amarkup language document), in a single file dedicated to the program inquestion, or in multiple coordinated files (e.g., files that store oneor more modules, sub programs, or portions of code). A computer programcan be deployed to be executed on one computer or on multiple computersthat are located at one site or distributed across multiple sites andinterconnected by a communication network.

The processes and logic flows described in this specification can beperformed by one or more programmable processors executing one or morecomputer programs to perform functions by operating on input data andgenerating output. The processes and logic flows can also be performedby, and apparatus can also be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application specific integrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read only memory ora random access memory or both. The essential elements of a computer area processor for performing instructions and one or more memory devicesfor storing instructions and data. Generally, a computer will alsoinclude, or be operatively coupled to receive data from or transfer datato, or both, one or more mass storage devices for storing data, e.g.,magnetic, magneto optical disks, or optical disks. However, a computerneed not have such devices. Moreover, a computer can be embedded inanother device, e.g., a tablet computer, a mobile telephone, a personaldigital assistant (PDA), a mobile audio player, a Global PositioningSystem (GPS) receiver, to name just a few. Computer readable mediasuitable for storing computer program instructions and data include allforms of non volatile memory, media and memory devices, including by wayof example semiconductor memory devices, e.g., EPROM, EEPROM, and flashmemory devices; magnetic disks, e.g., internal hard disks or removabledisks; magneto optical disks; and CD ROM and DVD-ROM disks. Theprocessor and the memory can be supplemented by, or incorporated in,special purpose logic circuitry.

To provide for interaction with a user, embodiments can be implementedon a computer having a display device, e.g., a CRT (cathode ray tube) orLCD (liquid crystal display) monitor, for displaying information to theuser and a keyboard and a pointing device, e.g., a mouse or a trackball,by which the user can provide input to the computer. Other kinds ofdevices can be used to provide for interaction with a user as well; forexample, feedback provided to the user can be any form of sensoryfeedback, e.g., visual feedback, auditory feedback, or tactile feedback;and input from the user can be received in any form, including acoustic,speech, or tactile input.

Embodiments can be implemented in a computing system that includes aback end component, e.g., as a data server, or that includes amiddleware component, e.g., an application server, or that includes afront end component, e.g., a client computer having a graphical userinterface or a Web browser through which a user can interact with animplementation, or any combination of one or more such back end,middleware, or front end components. The components of the system can beinterconnected by any form or medium of digital data communication,e.g., a communication network. Examples of communication networksinclude a local area network (LAN) and a wide area network (WAN), e.g.,the Internet.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

While this specification contains many specifics, these should not beconstrued as limitations on the scope of the techniques described hereinor of what may be claimed, but rather as descriptions of featuresspecific to particular embodiments. Certain features that are describedin this specification in the context of separate embodiments can also beimplemented in combination in a single embodiment. Conversely, variousfeatures that are described in the context of a single embodiment canalso be implemented in multiple embodiments separately or in anysuitable subcombination. Moreover, although features may be describedabove as acting in certain combinations and even initially claimed assuch, one or more features from a claimed combination can in some casesbe excised from the combination, and the claimed combination may bedirected to a subcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the embodiments described above should not be understoodas requiring such separation in all embodiments, and it should beunderstood that the described program components and systems cangenerally be integrated together in a single software product orpackaged into multiple software products.

In each instance where a hypertext markup language (HTML) file ismentioned, other file types or formats may be substituted. For instance,an HTML file may be replaced by an extensible markup language (XML),JavaScript object notation (JSON), plain text, or other types of files.Moreover, where a table or hash table is mentioned, other datastructures (such as spreadsheets, relational databases, or structuredfiles) may be used.

Particular embodiments have been described. Other embodiments are withinthe scope of the following claims. For example, the steps recited in theclaims can be performed in a different order and still achieve desirableresults.

What is claimed is:
 1. A computer-implemented method comprising: detecting an occurrence of a pre-search trigger, the pre-search trigger corresponding to a user action to gain access to a search interface at a particular time; identifying a user associated with the pre-search trigger; identifying a topic classified as a likely topic of interest for the identified user based on a browsing history of the identified user or a search query history of the identified user; in response to detecting the occurrence of the pre-search trigger, determining a confidence score associated with the topic based on the particular time of the user action, the confidence score indicating a likelihood that the topic is of interest to the identified user at the particular time determining that the confidence score associated with the topic satisfies a predetermined threshold value; instructing a search engine to execute a search using a search query associated with the particular topic in response to determining that the confidence score associated with the particular topic satisfies the predetermined threshold value; and providing a representation of a resource identified in results received in response to the search.
 2. The computer-implemented method of claim 1, wherein detecting the occurrence of the pre-search trigger comprises receiving information indicating that a control on a user interface of a client device has been selected.
 3. The computer-implemented method of claim 1, wherein detecting the occurrence of the pre-search trigger comprises receiving a request to provide a resource that provides access to a search interface; and wherein providing the representation of the resource identified in results received in response to the search comprises providing the representation before the user enters a query term using the search interface.
 4. The computer-implemented method of claim 1, wherein detecting the occurrence of the pre-search trigger comprises receiving a request to provide a resource that provides access to a search interface; and wherein providing a representation of the resource comprises causing navigation to be redirected to the resource identified in the results received in response to the search, without receiving user input directing navigation to the resource identified in the results.
 5. The computer-implemented method of claim 1, wherein providing a representation of the resource comprises providing a resource that, when rendered, causes content of the resource to be displayed on a portion of a user interface.
 6. The computer-implemented method of claim 1, wherein providing a representation of the resource comprises providing a resource including a link to the resource.
 7. The computer-implemented method of claim 1, wherein the confidence score is based on a browsing history of a user or a search query history of a user.
 8. The method of claim 1, wherein the determining the confidence score comprises determining the confidence score based on a time of day or day of the week of the particular time.
 9. The method of claim 8, wherein determining the confidence score associated with the topic comprises determining the confidence score based on a degree of correlation between the topic and actions of the particular user occurring on previous days at a time of day of the particular time.
 10. The method of claim 1, wherein determining the confidence score, instructing the search engine to perform the search, and providing the representation of the resource identified in the results occur during a web browsing session of the identified user before the identified user enters any query terms related to the topic during the web browsing session.
 11. The method of claim 1, wherein detecting the pre-search trigger comprises receiving a request to provide the search interface, wherein the request is not related to the topic; wherein identifying the topic comprises predicting that the topic is of interest to the identified user without receiving user input indicating that the topic is currently of interest to the identified user; and wherein providing the representation of the resource comprises providing the representation of the resource with the search interface in response to detecting the pre-search trigger, before the user provides any query terms related to the topic through the provided search interface.
 12. A system comprising: one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising: detecting an occurrence of a pre-search trigger, the pre-search trigger corresponding to a user action to gain access to a search interface at a particular time; identifying a user associated with the pre-search trigger; identifying a topic classified as a likely topic of interest for the identified user based on a browsing history of the identified user or a search query history of the identified user; in response to detecting the occurrence of the pre-search trigger, determining a confidence score associated with the topic based on the particular time of the user action, the confidence score indicating a likelihood that the topic is of interest to the identified user at the particular time; determining that the confidence score associated with the topic satisfies a predetermined threshold value; instructing a search engine to execute a search using a search query associated with the particular topic in response to determining that the confidence score associated with the particular topic satisfies the predetermined threshold value; and providing a representation of a resource identified in results received in response to the search.
 13. The system of claim 12, wherein detecting the occurrence of the pre-search trigger comprises receiving information indicating that a control on a user interface of a client device has been selected.
 14. The system of claim 12, wherein detecting the occurrence of the pre-search trigger comprises receiving a request to provide a resource that provides access to a search interface; and wherein providing the representation of the resource identified in results received in response to the search comprises providing the representation before the user enters a query term using the search interface.
 15. The system of claim 12, wherein detecting the occurrence of the pre-search trigger comprises receiving a request to provide a resource that provides access to a search interface; and wherein providing a representation of the resource comprises causing navigation to be redirected to the resource identified in the results received in response to the search, without receiving user input directing navigation to the resource identified in the results.
 16. The system of claim 12, wherein providing a representation of the resource comprises providing a resource that, when rendered, causes content of the resource to be displayed on a portion of a user interface.
 17. The system of claim 12, wherein providing a representation of the resource comprises providing a resource including a link to the resource.
 18. The system of claim 12, wherein the confidence score is based on a browsing history of a user or a search query history of a user.
 19. The system of claim 12, wherein the determining the confidence score comprises determining the confidence score based on a time of day or day of the week of the particular time.
 20. The system of claim 19, wherein determining the confidence score associated with the topic comprises determining the confidence score based on a degree of correlation between the topic and actions of the particular user occurring on previous days at a time of day of the particular time.
 21. The system of claim 12, wherein determining the confidence score, instructing the search engine to perform the search, and providing the representation of the resource identified in the results occur during a web browsing session of the identified user before the identified user enters any query terms related to the topic during the web browsing session.
 22. The system of claim 12, wherein detecting the pre-search trigger comprises receiving a request to provide the search interface, wherein the request is not related to the topic; wherein identifying the topic comprises predicting that the topic is of interest to the identified user without receiving user input indicating that the topic is currently of interest to the identified user; and wherein providing the representation of the resource comprises providing the representation of the resource with the search interface in response to detecting the pre-search trigger, before the user provides any query terms related to the topic through the provided search interface.
 23. A non-transitory computer storage medium encoded with a computer program, the program comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising: detecting an occurrence of a pre-search trigger, the pre-search trigger corresponding to a user action to gain access to a search interface at a particular time; identifying a user associated with the pre-search trigger; identifying a topic classified as a likely topic of interest for the identified user based on a browsing history of the identified user or a search query history of the identified user; in response to detecting the occurrence of the pre-search trigger, determining a confidence score associated with the topic based on the particular time of the user action, the confidence score indicating a likelihood that the topic is of interest to the identified user at the particular time; determining that the confidence score associated with the topic satisfies a predetermined threshold value; instructing a search engine to execute a search using a search query associated with the particular topic in response to determining that the confidence score associated with the particular topic satisfies the predetermined threshold value; and providing a representation of a resource identified in results received in response to the search.
 24. The non-transitory computer storage medium of claim 23, wherein detecting the occurrence of the pre-search trigger comprises receiving information indicating that a control on a user interface of a client device has been selected.
 25. The non-transitory computer storage medium of claim 23, wherein detecting the occurrence of the pre-search trigger comprises receiving a request to provide a resource that provides access to a search interface; and wherein providing the representation of the resource identified in results received in response to the search comprises providing the representation before the user enters a query term using the search interface.
 26. The non-transitory computer storage medium of claim 23, wherein detecting the occurrence of the pre-search trigger comprises receiving a request to provide a resource that provides access to a search interface; and wherein providing a representation of the resource comprises causing navigation to be redirected to the resource identified in the results received in response to the search, without receiving user input directing navigation to the resource identified in the results.
 27. The non-transitory computer storage medium of claim 23, wherein providing a representation of the resource comprises providing a resource that, when rendered, causes content of the resource to be displayed on a portion of a user interface.
 28. The non-transitory computer storage medium of claim 23, wherein providing a representation of the resource comprises providing a resource including a link to the resource.
 29. The non-transitory computer storage medium of claim 23, wherein the confidence score is based on a browsing history of a user or a search query history of a user.
 30. The non-transitory computer storage medium of claim 23, wherein the determining the confidence score comprises determining the confidence score based on a time of day or day of the week of the particular time.
 31. The non-transitory computer storage medium of claim 30, wherein determining the confidence score associated with the topic comprises determining the confidence score based on a degree of correlation between the topic and actions of the particular user occurring on previous days at a time of day of the particular time.
 32. The non-transitory computer storage medium of claim 23, wherein determining the confidence score, instructing the search engine to perform the search, and providing the representation of the resource identified in the results occur during a web browsing session of the identified user before the identified user enters any query terms related to the topic during the web browsing session.
 33. The non-transitory computer storage medium of claim 23, wherein detecting the pre-search trigger comprises receiving a request to provide the search interface, wherein the request is not related to the topic; wherein identifying the topic comprises predicting that the topic is of interest to the identified user without receiving user input indicating that the topic is currently of interest to the identified user; and wherein providing the representation of the resource comprises providing the representation of the resource with the search interface in response to detecting the pre-search trigger, before the user provides any query terms related to the topic through the provided search interface. 